iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 7
0
自我挑戰組

JavaScript基礎介紹 for 30天系列 第 7

第七天 JavaScript 資料型別(逗號運算子&邏輯運算子)

  • 分享至 

  • xImage
  •  

逗號運算子

主要的工作是隔開運算式,讓運算式可以順序執行,並回傳最後一個運算式的值,如果一組運算式裡面有多個運算式,就可以使用逗號來分開。

for 迴圈

for (a = 0, b = 1 a < 5, a++ , b++) {
  k = a + b;
}

宣告變數

var a = 5;
var b = 5;
var a = 5, b = 5; // 可以寫成這樣

上面的例子常見的錯誤,會是

var a = b = 5
console.log(a) // 5
console.log(b) // 5

這是會出問題的!

原因在於沒有使用 var 宣告的變數會變成全域變數,而 b 看起來有宣告,但事實上沒有,我們可以拆成這樣來看

b = 5;
var a = b;

知道錯在哪裡了吧~ 有時候我們可能不小心創造了一個全域變數,但卻不自知(真是危險啊)

邏輯運算子

邏輯運算子通常被用於布林值,使用於布林值時, 它們會回傳布林型態的值。

  • (AND &&) 使用在兩個運算式中間用 && 符號隔開,代表兩邊都為 true 的時候才會得到 true 結果,如果其中一方是 false 就是 false。
  • (OR ||) 使用在兩個運算式中間用 || 符號隔開,代表兩邊都為 false 的時候得到 false 結果,其中一方為 true 則為 true。
  • (NOT !) 使用 ! 來表示 如果是 true 經過 ! 轉換後會變成 false , false 會變成 true ,

下列是 && 運算子範例

var a1 = true && true; // t && t 回傳 true
var a2 = true && false; // t && f 回傳 false
var a3 = false && true; // f && t 回傳 false
var a4 = false && (3 == 4); // f && f 回傳 false
var a5 = "Cat" && "Dog"; // t && t 回傳 Dog
var a6 = false && "Cat"; // f && t 回傳 false
var a7 = "Cat" && false; // t && f 回傳 false

下列是 || 運算子範例

var o1 = true || true; // t || t 回傳 true
var o2 = false || true; // f || t 回傳 true
var o3 = true || false; // t || f 回傳 true
var o4 = false || (3 == 4); // f || f 回傳 false
var o5 = 'Cat' || 'Dog'; // t || t 回傳 Cat
var o6 = false || 'Cat'; // f || t 回傳 Cat
var o7 = 'Cat' || false; // t || f 回傳 Cat

下列是 ! 運算子範例

var n1 = !true; // !t 回傳 false
var n2 = !false; // !f 回傳 true
var n3 = !'Cat'; // !t 回傳 false

簡單說, && 或 || 所產生的值不一定是布林值,是兩者其中一個。
在這兩個運算子判斷的時候,會由左至右開始檢查。

  • 如果不是布林值的話,會先用 ToBoolean() 轉型成對應的 true 跟 false。
  • || 運算子,第一個值,如果碰到是 true 就回傳第一個值,如果不是就回傳第二個值。
  • && 運算子,第一個值。如果是 true 則回傳第二個值,否則回傳第一個。

希望大家以後遇到這兩個運算子,不會再頭痛了啊~
明天見


上一篇
第六天 JavaScript 資料型別(自動轉型)
下一篇
第八天 JavaScript 流程判斷
系列文
JavaScript基礎介紹 for 30天24
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言